Logic Program Synthesis via Proof Planning
نویسندگان
چکیده
We propose a novel approach to automating the synthesis of logic programs: Logic programs are synthesized as a by-product of the planning of a verification proof. The approach is a two-level one: At the object level, we prove program verification conjectures in a sorted, first-order theory. The conjectures are of the form ∀args . prog(args ) ↔ spec(args ). At the meta-level, we plan the object-level verification with an unspecified program definition. The definition is represented with a (second-order) meta-level variable, which becomes instantiated in the course of the planning. This technique is an application of the Clam proof planning system. Clam is currently powerful enough to plan verification proofs for given programs. We show that, if Clam’s use of middle-out reasoning is extended, it will also be able to synthesize programs.
منابع مشابه
Automating the synthesis of functional programs
The task of constructing programs can be treated as a task of nding proofs in an appropriate logic. For recursive programs, the corresponding logic includes appropriate induction principles. We describe a system that automates program synthesis via theorem proving in this way, building on control strategies developed for veriication proofs using proof plans. This involves some extensions to the...
متن کاملMiddle-Out Reasoning for Logic Program Synthesis
Logic programs can be synthesized as a by-product of the planning of their verification proofs. This is achieved by using higher-order variables at the proof planning level, which become instantiated in the course of planning. We illustrate two uses of such variables in proof planning for program synthesis, one for synthesis proper and one for the selection of induction schemes. We demonstrate ...
متن کاملMiddle - Out Reasoning for Synthesis and InductionIna
We develop two applications of middle-out reasoning in inductive proofs: Logic program synthesis and the selection of induction schemes. Middle-out reasoning as part of proof planning was rst suggested by Bundy et al Bundy et al 90a]. Middle-out reasoning uses variables to represent unknown terms and formulae. Uniication instantiates the variables in the subsequent planning, while proof plannin...
متن کاملMax-planck-institut F Ur Informatik Middle-out Reasoning for Logic Program Synthesis K I N F O R M a T I K Im Stadtwald D 66123 Saarbr Ucken Germany Authors' Addresses
Logic programs can be synthesized as a by-product of the planning of their veri cation proofs. This is achieved by using higher-order variables at the proof planning level, which become instantiated in the course of planning. We illustrate two uses of such variables in proof planning for program synthesis, one for synthesis proper and one for the selection of induction schemes. We demonstrate t...
متن کاملProof Planning and Program Synthesis: A Survey
Proof planning is a knowledge-based automated theorem proving t~hnlque. It has been applied to a number of theorem-proving domains, for example: mathematical induction (Bundy et al.1991), and hardware verification (Cantu et a/.1996) (to pick two of the many). In the domain of program synthesis, it has been used to automate the synthesis of logic (Kraan et a/.1993a, Kraan et al.1993b, Basin et a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1992